* is empty.
*/
static void
-draw_empty_focus (GtkTreeView *tree_view, GdkRectangle *clip_area)
+draw_empty_focus (GtkTreeView *tree_view, cairo_t *cr)
{
GtkWidget *widget = GTK_WIDGET (tree_view);
gint w, h;
h -= 2;
if (w > 0 && h > 0)
- gtk_paint_focus (gtk_widget_get_style (widget),
- tree_view->priv->bin_window,
+ gtk_cairo_paint_focus (gtk_widget_get_style (widget),
+ cr,
gtk_widget_get_state (widget),
- clip_area,
widget,
NULL,
1, 1, w, h);
"focus-line-width", &focus_line_width,
NULL);
+ cr = gdk_cairo_create (event->window);
+ gdk_cairo_region (cr, event->region);
+ cairo_clip (cr);
+
if (tree_view->priv->tree == NULL)
{
- draw_empty_focus (tree_view, &event->area);
+ draw_empty_focus (tree_view, cr);
+ cairo_destroy (cr);
return TRUE;
}
- /* clip event->area to the visible area */
- if (event->area.height < 0)
- return TRUE;
-
validate_visible_area (tree_view);
- cr = gdk_cairo_create (event->window);
- gdk_cairo_region (cr, event->region);
- cairo_clip (cr);
-
style = gtk_widget_get_style (widget);
new_y = TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, event->area.y);